//
//  Person.h
//  02-ClassAndObject
//
//  Created by mafeng on 16/7/5.
//  Copyright © 2016年 mafeng. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Person : NSObject
// 大括号中包含的是类的成员变量(实例变量)
{
    // 系统默认的是@protect 受保护的, 类本身及其子类
    // @public 公开的, 让外界可以访问
    // @private 私有的, 只有类自己可以访问
    // @package 一般系统内部使用, 很少用
    @public
    NSString *_name;
    NSInteger _age;
}
// 方法分为两种
// + 方法(由类去调用)
// -方法(由对象去调用)
// C 语言的函数 返回值 函数名(参数列表)
void func(int a);
// OC的方法 返回值 方法名:参数
- (void)sleep:(NSInteger)time;
- (void)setName:(NSString *)name;
- (NSString *)name;
// 代码规范
// 1. + - 后面接空格
// 2. init后驼峰命名
// 3. 参数名首字母小写, 后续单词遵循驼峰(小驼峰命名法)
// 4. 参数参数间, 可以以回车区分, 回车后:对齐
- (instancetype)initWithName:(NSString *)name
                         age:(NSInteger)age;
+ (instancetype)personWithName:(NSString *)name
                           age:(NSInteger)age;
@end
